﻿//注册layui的JS扩展方法
layui.define(['tableSelect'], function (exports) {
    var tableSelect = layui.tableSelect;
    /**选择用户的下拉框注册注册**/
    var userTableSelect = function () {
       
    };
/**
* 加载用户数据
*/
    userTableSelect.prototype.render = function (opt) {
        opt.type = opt.type || 'radio';
        loadtable();
        /**加载table表格数据 */
        function loadtable() {

            tableSelect.render({
                elem: opt.key,	//定义输入框input对象 必填
                checkedKey: 'userID', //表格的唯一建值，非常重要，影响到选中状态 必填
                searchKey: 'keyWord',	//搜索输入框的name值 默认keyword
                searchPlaceholder: '学校或教育局名称搜索',	//搜索输入框的提示文字 默认关键词搜索
                table: {	//定义表格参数，与LAYUI的TABLE模块一致，只是无需再定义表格elem
                    url: '/GetDictUserInfo.aspx',
                    where:{ UserDeptCode: opt.deptCode, RoleGroupCode: opt.roleGroupCode },
                    limit: 10,
                    method:'post',
                    even: true, //开启隔行背景
                    totalRow: true,
                    cols: [[
                        { type: opt.type },
                        { field: 'userID', title: '用户ID',width: 150 },
                        { field: 'userName', title: '学校或教育局名称', width: 200 },
                        /*{
                            
                            field: 'userSex', title: '性别', unresize: true, width: 80,
                            templet: function (d) {
                                if (d.userSex === false) {
                                    return '<div style="color: #F581B1;"><i class="layui-icon">&#xe661;</i>女</div>';
                                } else if (d.userSex === true) {
                                    return '<i class="layui-icon">&#xe662;</i>男';
                                }
                                else {
                                    return ' <span>未知</span>';
                                }
                            }
                        },*/
                        { field: 'userDeptName', title: '用户类型', width: 150 },
                        { field: 'roleGroupName', title: '角色', width: 200 },

                    ]],
                    page: { //支持传入 laypage 组件的所有参数（某些参数除外，如：jump/elem） - 详见文档
                        layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                        ,curr: 1 //设定初始在第 1 页
                        , groups: 5 //只显示 1 个连续页码
                        , first: '首页' //首页 自定义内容，false就是不开启
                        , last: '尾页' //尾页 自定义内容，false就是不开启
                    }
                    , request: {
                        pageName: 'PageIndex' //页码的参数名称，默认：page
                        , limitName: 'PageSize' //每页数据量的参数名，默认：limit
                    }
                    , response: {
                        statusName: 'code' //规定数据状态的字段名称，默认：code
                        , statusCode: 0 //规定成功的状态码，默认：0
                        , msgName: 'msg' //规定状态信息的字段名称，默认：msg
                        , countName: 'count' //规定数据总数的字段名称，默认：count
                        , dataName: 'data' //规定数据列表的字段名称，默认：data
                    }
                    , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据

                        if (res.code !== 0) {
                            return {
                                "code": res.code, //解析接口状态
                                "msg": res.msg, //解析提示文本
                                "count": 0, //解析数据长度
                                "data": null //解析数据列表
                            };
                        }
                        else {
                            return {
                                "code": res.code, //解析接口状态
                                "msg": res.msg, //解析提示文本
                                "count": res.data.totalCount, //解析数据长度
                                "data": res.data.list //解析数据列表
                            };
                        }

                    }

                },
                done: function (elem, data) {
                    //选择完后的回调，包含2个返回值 elem:返回之前input对象；data:表格返回的选中的数据 []
                    //拿到data[]后 就按照业务需求做想做的事情啦~比如加个隐藏域放ID...
                    
                    var NEWJSON = [];
                    layui.each(data.data, function (index, item) {
                        NEWJSON.push(item.userName + "(" + item.userID + ")");
                    })
                    elem.val(NEWJSON.join(","));
                    elem.data("selectData", data.data);
                    if (opt.callback) {
                        opt.callback(elem, data.data);
                    }
                }
            })
        }


    };
    var userTable = new userTableSelect();
    exports('userTableSelect', userTable);
});